The disclosed system teaches a way of simplifying messages in asynchronous transfer mode. The present system specifically teaches specifying connection ranges among various information to simplify the connection.
Asynchronous transfer mode or ATM is a telecommunications protocol that allows packet based transfer of information. Cells of information are sent across an information network defined by a number of nodes. The information is sent from node-to-node.
An ATM transport network (i.e., a communication network which transmits information using ATM cell packets) is known to include an ATM layer and a physical layer. The ATM layer is based on the virtual path/virtual channel (VP/VC) concept. The VC identifies a unidirectional communication capability through which ATM cells are transported. One or more virtual channels (VCs) can be used in a particular virtual path (VP), which also identifies another level of the communication capability through which the ATM cells are transported.
An ATM cell is the smallest information unit. It includes a header field of 5 bytes or octets, and a payload field of 48 bytes or octets. The header field includes VP and VC identifiers. These identifiers are used for routing the information to an intended destination.
Communication in known ATM networks is initiated during a connection setup, after which cells belonging to one connection follow a predetermined path defined by the VPI and VCI on a particular link. The connection control information transferred during setup utilizes a unique Signalling VC (SVC) which is included in the VP. The SVC is identified by the virtual path ID (VPI) and virtual channel ID (VCI).
Cells destined for many different end points are sent over a single physical communications circuit. The header of each cell includes a channel identifier which is used to control the routing of the cell through the ATM system. The channel identifier determines routing of the cell.
In a typical ATM system there are 256 possible VIPs and 65,536 possible VCIs; thus, there are 16,777,216 possible channel indentifiers (VP/VCIs). One of the many challenges in designing an ATM network is how to handle this huge number of connections.
Specified traffic control protocols are used to determine the routing of the information. The routing is controlled using conventional addressing techniques.
Further details of ATM are well known in the art. In addition, different flavors and sub-types of ATM are known, including digital subscriber line (xe2x80x9cDSLxe2x80x9d), assymetric digital subscriber line (xe2x80x9cADSLxe2x80x9d), and other flavors of digital subscriber line (xe2x80x9cXDSLxe2x80x9d).
In all of these communication modes, a message is broken into multiple portions or cells. A conventional ATM system breaks the total message to be sent over ATM into 48 byte data portions. A typical data message might be, for example, 1500 bytes in length. Hence, the 1500 byte message is divided up into 31 of the 48 byte cells.
The ATM message is sent into the ATM environment with 48 byte increments, each addressed by 24 bits of VPI/VCI to instruct where the package is going.
The recipient node needs to form this data together into the original size. That original recipient receives a mixed message within multiple cells, typically having multiple VPIs and VCIs.
One way to handle the mixed message is to place each of the messages into a buffer as received, and remove the different cells from the buffer to form one total message.
This system includes certain limitations. For instance, if the VPI is used as an index to the buffer, the amount of memory for the addressing scheme can increase, and make it difficult to review the contents. Searching the array can take large amounts of processing power and memory. As the number of VPI/VCI connections increases, the array size can grow exponentially.
The present system teaches a simplified system.
The present specification, in recognition of the above, defines an improved way of handling a message from a system which divides total messages into divided cells. Each of the cells is associated with an address. In a disclosed mode, that address can be a virtual address. A table is stored in memory which includes a list of connection number, address, and data for each of the connection number. Each of the cells is stripped of its address, associated with the connection number, and the data associated with that cell is put into the table. The table stores a plurality of information pieces about a number of simultaneous connections.
Access to the table is simplified by defining at least one variable associated with all of the simultaneous messages in the table. This variable is a variable that facilitates searching the table. One possible variable is a variable associated with the number of connections. Another variable is associated with the length of the table, e.g., the last-used index. In one disclosed mode, two variables are used, one of which is related to the last index, and the other which is related to the number of connections. If the two variables are equal, then the table is full, and the next entry in the table can be used for a new connection. Otherwise, the system can search to a value no higher than the last-used index, and by so doing, search less than all of the total number of values in the table.
The hardware and firmware forming a network interface card is also disclosed.